home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Games of Daze
/
Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso
/
x2ftp
/
msdos
/
iguana
/
incosrc
/
incosrc.exe
/
STARF
/
TUNELGEN.PAS
< prev
Wrap
Pascal/Delphi Source File
|
1993-06-25
|
2KB
|
102 lines
CONST
Header: STRING = 'Tunnel path ';
OutFile: STRING = 'tunnpath';
DataType: STRING = 'DW';
DataLen = 5;
VAR
fo : TEXT;
fi : FILE OF BYTE;
i, j, k : INTEGER;
CONST
bc : INTEGER = 0;
PROCEDURE DoNum(b: INTEGER);
BEGIN
IF bc = 0 THEN BEGIN
WriteLn(fo);
Write(fo, ' ',DataType, ' ', b: DataLen);
END ELSE
Write(fo, ',', b : DataLen);
bc := (bc + 1) MOD 12;
END;
FUNCTION X2(x: REAL): REAL;
BEGIN
X2 := x*x
END;
TYPE
TPath = ARRAY [0..2047] OF INTEGER;
VAR
px, py : TPath;
CONST
radius = 16384.0;
BEGIN
Assign(fo, OutFile+'.inc');
ReWrite(fo);
WriteLn(fo, '; ----- ', Header, '. ------------');
FOR i := 0 TO 2047 DO BEGIN
px[i] := 0;
py[i] := 0
END;
j := 512;
FOR i := 1 TO 64 DO BEGIN
px[j] := ROUND(radius*X2(SIN(j*PI/128.0)));
INC(j)
END;
FOR i := 1 TO 768 DO BEGIN
px[j] := ROUND(radius*SIN(j*PI/128.0));
INC(j)
END;
FOR i := 1 TO 64 DO BEGIN
px[j] := ROUND(radius*X2(SIN(j*PI/128.0)));
INC(j)
END;
j := 768;
FOR i := 1 TO 64 DO BEGIN
py[j-64] := ROUND(radius*X2(SIN(j*PI/128.0)));
INC(j)
END;
FOR i := 1 TO 768 DO BEGIN
py[j-64] := ROUND(radius*SIN(j*PI/128.0));
INC(j)
END;
FOR i := 1 TO 64 DO BEGIN
py[j-64] := ROUND(radius*X2(SIN(j*PI/128.0)));
INC(j)
END;
FOR i := 0 TO 2047 DO BEGIN
DoNum(px[i]);
DoNum(py[i])
END;
Close(fo)
END.